<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    async function test() {
        const flag1 = await new Promise((resolve, reject)=>{
            setTimeout((flag)=>{
                //flag: 第一次请求成功与否
                if(flag){
                    resolve(flag);
                    console.log("第一次请求成功")
                }else{
                    reject("第一次请求失败")
                }
            },1000,true)
        })
        const flag2 = await new Promise((resolve,reject)=>{
            //flag: 第一次请求成功与否
            if(flag1){
                setTimeout((flag)=>{
                    //flag: 第二次请求成功与否
                    if(flag){
                        resolve(flag);
                        console.log("第二次请求成功")
                    }else{
                        reject("第二次请求失败")
                    }
                },1000,true)
            }else{
                reject("第一次请求失败")
            }
        })
                      await new Promise((resolve,reject)=>{
            //flag: 第二次请求成功与否
            if(flag2){
                setTimeout((flag)=>{
                    //flag: 第三次请求成功与否
                    if(flag){
                        resolve(flag);
                        console.log("第三次请求成功")
                    }else{
                        reject("第三次请求失败")
                    }
                },1000,true)
            }else{
                reject("第二次请求失败")
            }
        })
    }

    (async ()=>{
        await test();
        console.log("end")
    })()
</script>
</html>